package com.justgame.project.service.online.mapper;

import com.justgame.project.service.api.dto.OnlineVipDTO;
import com.justgame.project.service.api.vo.OnlineVipVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface OnlineVipMapper {

    /**
     * 新增
     * @param dto
     * @return
     */
    Integer insert(@Param("dto")OnlineVipDTO dto);

    /**
     * 通过 online id 查询是否是会员
     * @param onlineId onlineId
     * @return
     */
    Boolean isVipByOnlineId(@Param("onlineId")Long onlineId);

    /**
     * 判断是否从未开通过会员服务
     * @param onlineId onlineId
     * @return
     */
    Boolean isNeverVipByUserId(@Param("userId")String userId);

    /**
     * 通过 user id 查询是否是会员
     * @param userId userId
     * @return
     */
    Boolean isVipByUserId(@Param("userId")String userId);

    /**
     * 条件查询
     * @param dto
     * @return
     */
    List<OnlineVipVO> select(@Param("dto")OnlineVipDTO dto);

    /**
     * 条件查询
     * @param dto
     * @return
     */
    Date selectFinalExpireDate(@Param("dto")OnlineVipDTO dto);
}
